﻿// Klasa przechowuj¹ca jeden punkt œwiat³a

#pragma once
#include "headers.h"
class Swiatlo /// Klasa przechowująca dane dla pojedyńczego punktowego źródła światła. Poza przechowywaniem i udostępnianiem danych nie wykonuje żadnych skomplikowanych operacji
{
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//														%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//							PRIVATE
//														%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
private:
//#################################################################################################################
//					   zmienne świetlaste
//#################################################################################################################
	D3DLIGHT9 gLight;	///< Zmienna przechowująca obiekt struktury oświetlenia
	D3DVECTOR gPosition; ///< Zmienna przechowująca położenie źródła światła w przestrzeni

//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//														%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//							PUBLIC
//														%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
public:
//#################################################################################################################
//                    konstruktor bezparametryczny
//#################################################################################################################
	Swiatlo(void); ///< konstruktor bezparametryczny (nie wykorzystywany w projekcie)

//#################################################################################################################
//                    konstruktor wieloparametryczny
//#################################################################################################################
	Swiatlo(float x, float y, float z); ///< konstruktor parametryczny - tworzy obiekt światła i umieszcza go w przestrzeni za pomocą przekazanych parametrów

//#################################################################################################################
//                    destruktor
//#################################################################################################################
	~Swiatlo(void); ///< destruktor

//#################################################################################################################
//                    funkcja zwracająca światło
//#################################################################################################################
	D3DLIGHT9 zwroc_swiatlo(); ///< metoda zwracająca dane na temat światła potrzebne do jego włączenia z poziomu głównej aplikaci
};

